package cn.xinfei.xdecision.common.model.datax.consts;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ProviderConstant {
    //决策树输出字段
    public static final String DECISION_TREE_OUTPUT_RESULT = "result";
    public static final String DECISION_TREE_OUTPUT_CHALLENGE_ITEM = "challenge_item";
    public static final String DECISION_TREE_OUTPUT_AMOUNT_LIMIT = "amount_limit";

	public static final String COMMON_RESULT_SUCCESS_CODE = "000000";//通用请求成功返回码
	/*大额分期*/
	public static final String ORDER_TYPE_BIG_STAGING="big_staging";
	/*循环额度*/
	public static final String ORDER_TYPE_REVOLVING_CREDIT_LINE="revolving_credit_line";
	/**loan_type*/
    public static final String LOAN_TYPE_CASHLOAN = "cash_loan"; //大额
    public static final String LOAN_TYPE_NONE = "none"; //none
	public static final String LOAN_TYPE_PERSONAL_LOAN = "personal_loan";//个人信贷

	/**bus_type*/
	public static final String BUSI_TYPE_CASH_CREDIT = "credit";//现金贷授信
	public static final String BUSI_TYPE_CASH_WITHDRAW = "withdraw"; //现金贷提现
	public static final String BUSI_TYPE_CONSUME = "consume";//消费贷

	/**product_type*/
    public static final String PRODUCT_TYPE_A = "A";
    public static final String PRODUCT_TYPE_B = "B";
    public static final String PRODUCT_TYPE_D = "D";
    public static final String PRODUCT_TYPE_E = "E";
    public static final String PRODUCT_TYPE_P = "P";
    /**consume_type*/
    public static final String CONSUME_TYPE_A = "A";
    public static final String CONSUME_TYPE_B = "B";
    public static final String CONSUME_TYPE_D = "D";

    /**source_type*/
    public static final String SOURCE_TYPE_IOS = "ios";
    public static final String SOURCE_TYPE_ANDROID = "android";
    public static final String SOURCE_TYPE_WAP = "wap";
    public static final String SOURCE_TYPE_PC = "pc";

    /**实名认证项*/
    public static final String REALNAME_ITEM_ID_CARD = "id_card";// 身份证实名验证
    public static final String REALNAME_ITEM_MOBILE = "mobile";// 手机实名验证
    public static final String REALNAME_ITEM_PAYMENT_CARD = "payment_card";// 支付卡实名验证
    public static final String REALNAME_ITEM_BIND_CARD = "bind_card";// 绑定卡实名验证

	/**贷款类型*/
	public static final String LOAN_TYPE_INSTALLMENT = "installment";//分期贷
	public static final String LOAN_TYPE_CREDIT = "credit";//信用贷

	public static final String MERCHANT_TYPE_OTA="ota";//OTA商户
	public static final String MERCHANT_TYPE_FLIGNT="airline";//航司商户

	/**SDK1.0 分期*/
	public static final String SDK_BRANCH_INSTALLMENT="installment";

	/*订单贷贷款额度上限*/
	public static final long MAX_DEBIT_AMOUNT = 880000;
	/*订单贷3期贷款额度上限*/
	public static final long MAX_DEBIT_AMOUNT_OF_3PERIODS = 880000;
	/* 消费贷（循环额度）最大请款金额 */
	public static final long MAX_CREDIT_AMOUNT = 880000;
	/* 消费贷（循环额度）最大请款金额(国航) */
	public static final long MAX_CREDIT_AMOUNT_GUOHANG = 880000;


	/*新用户循环额度*/
	public static final long NEW_USER_CREDIT_LINE = 300000;
	/*通用循环额度*/
	public static final long COMMON_CREDIT_SCORE = 500000;
	/*0循环额度*/
	public static final long NO_CREDIT_SCORE = 0;
	public static final String PRODUCT_TYPE_FREE_TOUR="free_tour";//自由行 --ota
	public static final String PRODUCT_TYPE_GROUP_TOUR="group_tour";//跟团游 --ota
	public static final String PRODUCT_TYPE_LOCAL_TOUR="local_tour";//当地游--ota

	public static final String PRODUCT_TYPE_FLIGHT="flight";//机票  --flight
	public static final String PRODUCT_TYPE_FLIGHT_SHOPPING = "flight_shopping";//机上购物

	/**航班管家商户号*/
	public static final List<String> MERCHANT_CODES_HBGJ = new ArrayList<String>(){
		private static final long serialVersionUID = 1L;
		{
			add("10301000011");
			//test
			add("90301000011");
		}
	};

	/**首付游机票商户号*/
	public static final List<String> MERCHANT_CODES_SFY_FLIGHT = new ArrayList<String>(){
		private static final long serialVersionUID = 1L;
		{
			add("10102100015");
		}
	};

	public static final String SCORE_CATEGORY_BASIC_SCORE="basicScore";//基础分
	public static final String SCORE_CATEGORY_FLIGHT_BEHAVIOR_SCORE="flightBehaviorScore";//飞行行为评分
	public static final String SCORE_CATEGORY_BASIC_INF_SCORE="basicInfScore";//客户基本信息评分
	public static final String SCORE_CATEGORY_OUTER_VERIFY_SCORE="outerVerifyScore";//外部验证评分
	public static final String SCORE_CATEGORY_SFY_BEHAVIOR_SCORE="sfyBehaviorScore";//首付游行为评分

	/**status*/
    public static final String STATUS_SUCCESS = "success";
    public static final String STATUS_REJECT = "reject";
	public static final String STATUS_PROCESSING = "processing";
    public static final String STATUS_ERROR = "error";
    public static final String STATUS_NONE = "none";
    public static final String STATUS_FAILED = "failed";
    public static final String STATUS_WAITING = "waiting";
    public static final String STATUS_EXPIRED = "expired";
    public static final String STATUS_PROCESSION = "processing";
    public static final String STATUS_CREDIT_REVIEW = "credit_review";
    public static final String STATUS_PASS = "pass";
    public static final String STATUS_CHALLENGE = "challenge";
    public static final String STATUS_SUCCESS_1 = "1";
    public static final String STATUS_FAILED_0 = "0";
    public static final String STATUS_CASH_CREDIT_WAIT = "wait_credit";
    public static final String STATUS_FK_CREDIT_WAIT = "wait_credit";
    public static final String STATUS_UNDONE = "undone";
    public static final String STATUS_DONE = "done";
    public static final String STATUS_UPDATED = "updated";
	public static final String STATUS_DONE_TYPE_REFUSED = "authRefused";
    public static final String STATUS_WAITING_ACTIVATION = "wait_activation";

    public static final String CHALLENGE_BANK_CARD = "bankCard";
    public static final String CHALLENGE_CONTACTS = "contacts";

	public static final String PARAM_VALUE              = "value";
	public static final String PARAM_NAME               = "name";
	public static final String PARAM_MOBILE             = "mobile";
	public static final String PARAM_ID_CARD_NUMBER     = "idCardNumber";
	public static final String PARAM_TRADE_NUMBER		= "tradeNumber";
	public static final String PARAM_TRADE_REPORT_ID	= "reportId";

    /**
     * 姓名拼音(大写)
     */
    public static final String NAME_PINYIN = "name_pinyin";

    /**
     * 出生年月 yyyy-mm
     */
    public static final String BIRTH_MONTH = "birth_month";
    public static final String PASSPORT = "passport";
    public static final String ID_CARD_NUMBER = "id_card_number";
	public static final String ID_CARD_PROTYLE = "id_card_protyle";
    public static final String MOBILE = "mobile";
    public static final String MOBILE_PROTYLE = "mobile_protyle";
    public static final String NAME = "name";
    public static final String ORDER_NUMBER = "order_number";
    public static final String APP_NAME = "app_name";
    public static final String BANK_CARD_NUMBER = "bank_card_number";
	public static final String BANK_CARD_PROTYLE = "bank_card_protyle";
	public static final String TRANS_TYPE = "trans_type";
    public static final String PRODUCT_ID = "product_id";
    public static final String TRADE_NUMBER = "trade_number";
    public static final String SOURCE_TYPE = "source_type";
    public static final String OS = "os";
    public static final String APP_VERSION = "app_version";
	public static final String CHALLENGE_ITEM = "challenge_item";
	public static final String CHALLENGE_RESULT = "challenge_result";
	public static final String CHALLENGE_OPTIONAL = "optional";
	public static final String CHALLENGE_RESULT_DONE_TYPE = "challenge_result_done_type";
	public static final String USER_ID = "user_id";
	public static final String APP_USER_ID = "app_user_id";
	public static final String DEVICE_ID = "device_id";
	public static final String REPORT_ID = "report_id";
	public static final String APPLY_TYPE = "apply_type";
	public static final String CREDIT_TYPE = "credit_type";
	public static final String PATH_KEY = "path_key";
	public static final String IP = "ip";
	public static final String BIZ_FLOW_NUMBER = "biz_flow_number";
	public static final String BIZ_SOURCE = "biz_source";
	public static final String BIZ_TYPE = "biz_type";
	public static final String PRODUCT_TYPE = "product_type";
	public static final String PRODUCT_NAME = "product_name";
	public static final String ADULT_TOURIST_NUMBER = "adult_tourist_number";
	public static final String CHILD_TOURIST_NUMBER = "child_tourist_number";
	public static final String BABY_TOURIST_NUMBER = "baby_tourist_number";
	public static final String MERCHANT_ORDER_ID = "merchant_order_id";
	public static final String MERCHANT_CODE = "merchant_code";
	public static final String MERCHANT_ID = "merchant_id";
	public static final String ORDER_AMOUNT = "order_amount";
	public static final String DEPARTURE = "departure";
	public static final String ARRIVAL = "arrival";
	public static final String DEPARTURE_DATE = "departure_date";
	public static final String ORDER_DATE = "order_date";
	public static final String ORDER_TYPE = "order_type";
	public static final String QUERY_ITEM_NAME = "query_item_name";
	public static final String ITEM_NAME = "item_name";
	public static final String CHECK_CHANNEL = "check_channel";
	public static final String CHANNEL_NAME = "channel_name";
	public static final String DATA_YEARS = "data_years";
	public static final String PASSWORD = "password";
	public static final String OPERATION_TYPE = "operation_type";
	public static final String VERIFY_CODE = "verify_code";
	public static final String TASK_ID = "task_id";
	public static final String UTM_SOURCE = "utm_source";
	public static final String SERVICE_TYPE = "service_type";
	public static final String PROVIDER_RESULT = "result";
	public static final String CASH_POOL_CODE = "cash_pool_code";

    public static final String DECISION_CHECK_RESULT = "check_result";
    public static final String DECISION_CHECK_SCORE = "score";
    public static final String DECISION_SET_ID = "decision_set_id";
    public static final String INPUT_ELEMENT = "input_element";
    public static final String REJECT_REASON = "reject_reason";
    public static final String IS_REPEAT_LOAN = "is_repeat_loan";
    public static final String SESSION_ID = "session_id";
	public static final String USER_LEVEL = "user_level";
	public static final String RATE_LEVEL = "rate_level";
	public static final String CREDIT_LINE = "credit_line";
	public static final String HANGJU_XFNL_FLIGHT_COUNT_LEVEL= "hangju_xfnl_flight_count_level";
	public static final String MODEL_SCORE = "model_score";
	public static final String CONSUMELOAN_RISK_PROB = "consumeloan_risk_prob";
	public static final String CREDIT_STATUS = "credit_status";
	public static final String ACTIVATION_STATUS = "activation_status";
	public static final String CREATED_TIME = "created_time";
	public static final String UPDATED_TIME = "updated_time";
	public static final String APPLY_NO = "apply_no";

	public static final String APP = "app";
	public static final String INNER_APP = "inner_app";
	public static final String PERSON_ID = "person_id";
	public static final String RISK_LEVEL = "risk_level";
	public static final String LOAN_TYPE = "loan_type";

	public static final String USER_REPORT_STATUS = "report_status";
	public static final String USER_REPORT_STATUS_INIT = "INIT";
	public static final String USER_REPORT_STATUS_SUCCESS = "SUCCESS";
	public static final String USER_REPORT_STATUS_FAIL = "FAIL";
	public static final String USER_REPORT_PREFIX = "user_report_id_";
	public static final String USER_REPORT_LOG_KEY_REPORT = "report";
	public static final String USER_REPORT_LOG_KEY_ELEMENTS = "elements";
	public static final String USER_REPORT_LOG_KEY_CONTEXT = "rpc-context";
	public static final String USER_REPORT_CALLBACK_URL_KEY = "callback_url";
	public static final String USER_REPORT_ID_KEY = "report_id";
	public static final String USER_REPORT_NOTIFY_SUCCESS_VALUE = "success";

	public static final String CREDIT_INQUIRY_STAGE_KEY = "stage";//阶段

	public static final String FUND_SOURCE = "fund_source";
	public static final String FAILED_REASON = "failed_reason";
	public static final String PLATFORM_USER_LEVEL = "platform_user_level";
	public static final String MODIFY_CASH_LINE = "modify_cash_line";
	public static final String MODIFY_TYPE = "modify_type";
	public static final String EXTEND_DATA = "extend_data";
	public static final String CARD_ID = "card_id";
	public static final String UNIQUE_FLOW_NUMBER = "unique_flow_number";
	public static final String MANAGE_TYPE = "manage_type";
	public static final String PROHIBITED_APPLY_TIME = "prohibited_apply_time";
	public static final String DIVERSION_LABEL = "diversion_label";

	public static final String INFO_FLOW_CHANNEL = "info_flow_channel";
	public static final String USER_ASSET_TYPE = "user_asset_type";



	/**
	 * 白名单用户费率等级
	 */
	public static final String RATE_LEVEL_WHITELIST = "V201";
	public static final String RATE_LEVEL_WHITELIST_PERSONAL_LOAN = "I201";

	public static final Map<String,String> QUDAO_RATE_LEVEL_MAP = new HashMap<String,String>(){
		private static final long serialVersionUID = 1L;
		{
			//渠道来的A类产品用户的费率等级
			put("A", "V111");
			//渠道来的B/D类产品用户的费率等级
			put("B", "V110");
			put("D", "V110");
		}
	};
    public static final String[] SFY_MERCHANT = {"10102100001","10102100015","10102100016","10102100021","10102100022"};

	/**
	 * 国航商户号
	 */
	public static final String[] GUOHANG_MERCHANT = {"1000000000","103021000168"};

	/**
	 * 东航商户号
	 */
	public static final String[] DONGHANG_MERCHANT = {"10302100009","10302100017","10302100018"};

	/**
	 * 飞行数据数据源类型
	 */
	public static final String DATA_SOURCE_HANGJU = "hangju";//收费航聚
	public static final String DATA_SOURCE_HANGJU_BAK = "hangjuBak";//免费航聚

	public static final String MODIFY_TYPE_INCRLIMIT_CARD_ACTIVATION = "increase_limit_card_activation";
	public static final String MODIFY_TYPE_INCRLIMIT_CARD_WITHDRAW = "increase_limit_card_withdraw";
	/**
	 * 征信渠道
	 */
	public static final String CREDIT_CHANNEL = "credit_channel";
	/**
	 * 现金分期提现风控策略
	 */
	public static final String CASH_WITHDRAW_CHECK_TREE = "cash-withdraw-check-tree";
	/**
	 * 个人分期提现风控策略
	 */
	public static final String PERSONAL_WITHDRAW_CHECK_TREE = "personal-withdraw-check-tree";
	/**
	 * 进件id
	 */
	public static final String APPLY_ID = "apply_id";

	public static final String REDIS_LOCK_KEY_PATTERN_DRAW = "draw_%s";
	public static final String REDIS_LOCK_KEY_PATTERN_DRAW_REVIEW = "draw_review_%s";

    public static final String SEQ_ID = "seq_id";


	/**
	 * 提现审核成功人行征信判断策略
	 */
	public static final String SUCCESS_CREDIT_CHANNEL_SELECT = "credit_channel_select";
	/**
	 * 提现审核成功人行征信决策策略
	 */
	public static final String SUCCESS_CREDIT_RESULT_CHECK = "credit_result_check";


	/**
	 * 提现审核失败人行征信判断策略
	 */
	public static final String FAIl_CREDIT_CHANNEL_SELECT = "credit_fail_channel_select";
	/**
	 * 提现审核失败人行征信决策策略
	 */
	public static final String FAIL_CREDIT_RESULT_CHECK = "credit_fail_result_check";

	/**
	 * 提现通知平台测发起征信申请
	 */
	public static final String BEFORE_PAY = "before_pay";
	/**
	 * 认证提额类型
	 */
	public static final String IDENTIFICATION_TYPE = "identification_type";

}
